//
//  UIImage+Cost.m
//  ZYWebImage
//
//  Created by wangzhipan on 2025/3/18.
//

#import "UIImage+Cost.h"

@implementation UIImage (Cost)
- (NSUInteger)zy_cost
{

    CGImageRef imageRef = self.CGImage;
    if (!imageRef) {
        return 0;
    }
    
    // 获取图片的基本信息
    NSUInteger width = CGImageGetWidth(imageRef);
    NSUInteger height = CGImageGetHeight(imageRef);
    NSUInteger bytesPerRow = CGImageGetBytesPerRow(imageRef);
    NSUInteger singleFrameSize = height * bytesPerRow;
    
    // 处理 GIF 图片
    NSUInteger totalSize = 0;
    NSArray *images = self.images; // 获取 GIF 的所有帧
    if (images) {
        // GIF 图片，累加所有帧的大小
        totalSize = singleFrameSize * images.count;
    } else {
        // 静态图片
        totalSize = singleFrameSize;
    }
    return totalSize;
}


@end
